/**
 * 登录流程
 * 1收集表单信息
 * 2.前端验证
 *    2.1 验证用户信息是否合法
 *    2.2 不通过则提示用户重新输入，不需要请求给后端
 *    2.3 通过则请求后端验证
 * 3.后端验证
 *    3.1 判断用户是否存在，不存在直接返回前端，告诉用户不存在
 *    3.2 若用户存在，则判断密码是否正确
 *    3.3 若密码不正确，则返回前端，告诉用户密码不正确
 *    3.4 若密码正确，则前端提示登录成功并用户信息（token等）
 */

import {
  API_Login
} from '../../api/api_login';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
  },
  // 监听两个input输入框的变化
  handleInput(event) {
    let type = event.currentTarget.id;
    let value = event.detail.value;
    this.setData({
      [type]: value,
    })
  },
  // 登录回调
  async login() {
    const {
      phone,
      password
    } = this.data;
    if (!phone || !password) {
      wx.showToast({
        title: '请输入完整信息',
        icon: 'error'
      })
      return;
    }
    let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/;
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手机号格式错误',
        icon: 'error'
      })
      return;
    }
    if (password.length < 6) {
      wx.showToast({
        title: '密码少于6位',
        icon: 'error'
      })
      return;
    }
    const res = await API_Login({
      phone,
      password,
      isLogin: true
    })
    if (res.code == 200) {
      // 保存用户信息
      try {
        wx.setStorageSync("userInfo", JSON.stringify(res.profile))
      } catch (e) {}
      // 跳转到我的页面 不能使用switchTab，因为此时调到personal不会调用onload
      // 数据不会更新
      wx.reLaunch({
        url: '/pages/personal/personal'
      })
    } else if (res.code == 400) {
      wx.showToast({
        title: '手机号错误',
        icon: 'error'
      })
    } else if (res.code == 502) {
      wx.showToast({
        title: '密码错误',
        icon: 'error'
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})